package com.yy.web.pm.billboard.domain;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 广告牌
 */
@ApiModel(description = "广告牌")
public class BillboardData implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 广告牌编号
     */
    @ApiModelProperty(value = "广告牌编号")
    private String advertisementNumber;

    /**
     * 广告牌名称
     */
    @ApiModelProperty(value = "广告牌名称")
    private String advertisementName;

    /**
     * 广告牌地址
     */
    @ApiModelProperty(value = "广告牌地址")
    private String advertisementAddress;

    /**
     * 广告牌检测时间
     */
    @ApiModelProperty(value = "广告牌检测时间")
    private Date advertisementTestTime;

    /**
     * 广告牌有效期开始时间
     */
    @ApiModelProperty(value = "广告牌有效期开始时间")
    private Date advertisementStarttime;

    /**
     * 广告牌有效期结束时间
     */
    @ApiModelProperty(value = "广告牌有效期结束时间")
    private Date advertisementEndtime;

    /**
     * 广告牌检测结果
     */
    @ApiModelProperty(value = "广告牌检测结果")
    private String advertisementResult;

    /**
     * 检测人
     */
    @ApiModelProperty(value = "检测人")
    private String detectionPeople;

    /**
     * 检测图片
     */
    @ApiModelProperty(value = "检测图片")
    private String detectionImage;

    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id")
    private String shopId;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    @ApiModelProperty(value = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * rif标签
     */
    @ApiModelProperty(value = "rif标签")
    private String advertisementRif;


    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof BillboardData)) return false;
        BillboardData that = (BillboardData) o;
        return Objects.equals(id, that.id) && Objects.equals(advertisementNumber, that.advertisementNumber) && Objects.equals(advertisementName, that.advertisementName) && Objects.equals(advertisementAddress, that.advertisementAddress) && Objects.equals(advertisementTestTime, that.advertisementTestTime) && Objects.equals(advertisementStarttime, that.advertisementStarttime) && Objects.equals(advertisementEndtime, that.advertisementEndtime) && Objects.equals(advertisementResult, that.advertisementResult) && Objects.equals(detectionPeople, that.detectionPeople) && Objects.equals(detectionImage, that.detectionImage) && Objects.equals(shopId, that.shopId) && Objects.equals(createdBy, that.createdBy) && Objects.equals(createdTime, that.createdTime) && Objects.equals(updatedBy, that.updatedBy) && Objects.equals(updatedTime, that.updatedTime) && Objects.equals(advertisementRif, that.advertisementRif);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, advertisementNumber, advertisementName, advertisementAddress, advertisementTestTime, advertisementStarttime, advertisementEndtime, advertisementResult, detectionPeople, detectionImage, shopId, createdBy, createdTime, updatedBy, updatedTime, advertisementRif);
    }

    public BillboardData(Integer id, String advertisementNumber, String advertisementName, String advertisementAddress, Date advertisementTestTime, Date advertisementStarttime, Date advertisementEndtime, String advertisementResult, String detectionPeople, String detectionImage, String shopId, String createdBy, Date createdTime, String updatedBy, Date updatedTime, String advertisementRif) {
        this.id = id;
        this.advertisementNumber = advertisementNumber;
        this.advertisementName = advertisementName;
        this.advertisementAddress = advertisementAddress;
        this.advertisementTestTime = advertisementTestTime;
        this.advertisementStarttime = advertisementStarttime;
        this.advertisementEndtime = advertisementEndtime;
        this.advertisementResult = advertisementResult;
        this.detectionPeople = detectionPeople;
        this.detectionImage = detectionImage;
        this.shopId = shopId;
        this.createdBy = createdBy;
        this.createdTime = createdTime;
        this.updatedBy = updatedBy;
        this.updatedTime = updatedTime;
        this.advertisementRif = advertisementRif;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("id", id)
                .append("advertisementNumber", advertisementNumber)
                .append("advertisementName", advertisementName)
                .append("advertisementAddress", advertisementAddress)
                .append("advertisementTestTime", advertisementTestTime)
                .append("advertisementStarttime", advertisementStarttime)
                .append("advertisementEndtime", advertisementEndtime)
                .append("advertisementResult", advertisementResult)
                .append("detectionPeople", detectionPeople)
                .append("detectionImage", detectionImage)
                .append("shopId", shopId)
                .append("createdBy", createdBy)
                .append("createdTime", createdTime)
                .append("updatedBy", updatedBy)
                .append("updatedTime", updatedTime)
                .append("advertisementRif", advertisementRif)
                .toString();
    }

    public BillboardData() {
    }

    public Integer getId() {
        return id;
    }

    public BillboardData setId(Integer id) {
        this.id = id;
        return this;
    }

    public String getAdvertisementNumber() {
        return advertisementNumber;
    }

    public BillboardData setAdvertisementNumber(String advertisementNumber) {
        this.advertisementNumber = advertisementNumber;
        return this;
    }

    public String getAdvertisementName() {
        return advertisementName;
    }

    public BillboardData setAdvertisementName(String advertisementName) {
        this.advertisementName = advertisementName;
        return this;
    }

    public String getAdvertisementAddress() {
        return advertisementAddress;
    }

    public BillboardData setAdvertisementAddress(String advertisementAddress) {
        this.advertisementAddress = advertisementAddress;
        return this;
    }

    public Date getAdvertisementTestTime() {
        return advertisementTestTime;
    }

    public BillboardData setAdvertisementTestTime(Date advertisementTestTime) {
        this.advertisementTestTime = advertisementTestTime;
        return this;
    }

    public Date getAdvertisementStarttime() {
        return advertisementStarttime;
    }

    public BillboardData setAdvertisementStarttime(Date advertisementStarttime) {
        this.advertisementStarttime = advertisementStarttime;
        return this;
    }

    public Date getAdvertisementEndtime() {
        return advertisementEndtime;
    }

    public BillboardData setAdvertisementEndtime(Date advertisementEndtime) {
        this.advertisementEndtime = advertisementEndtime;
        return this;
    }

    public String getAdvertisementResult() {
        return advertisementResult;
    }

    public BillboardData setAdvertisementResult(String advertisementResult) {
        this.advertisementResult = advertisementResult;
        return this;
    }

    public String getDetectionPeople() {
        return detectionPeople;
    }

    public BillboardData setDetectionPeople(String detectionPeople) {
        this.detectionPeople = detectionPeople;
        return this;
    }

    public String getDetectionImage() {
        return detectionImage;
    }

    public BillboardData setDetectionImage(String detectionImage) {
        this.detectionImage = detectionImage;
        return this;
    }

    public String getShopId() {
        return shopId;
    }

    public BillboardData setShopId(String shopId) {
        this.shopId = shopId;
        return this;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public BillboardData setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
        return this;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public BillboardData setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
        return this;
    }

    public String getUpdatedBy() {
        return updatedBy;
    }

    public BillboardData setUpdatedBy(String updatedBy) {
        this.updatedBy = updatedBy;
        return this;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public BillboardData setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
        return this;
    }

    public String getAdvertisementRif() {
        return advertisementRif;
    }

    public BillboardData setAdvertisementRif(String advertisementRif) {
        this.advertisementRif = advertisementRif;
        return this;
    }
}
